Why My Teenage Code Was Terrible: Sorting Algorithms And Big O Notation